Systems and methods to select media content

ABSTRACT

Systems and methods to select media content are provided. A method includes dynamically selecting content items for presentation via a media player based on user media selection settings. The user media selection settings specify a proportion of a first category of media content to be presented and a proportion of at least one second category of media content to be presented. The at least one second category includes a user defined category. First media content is associated with the first category based on an intrinsic property of the first media content and second media content is associated with the user defined category based on a property that is not intrinsic to the second media content. The method also includes generating an output stream presenting the dynamically selected content items.

FIELD OF THE DISCLOSURE

The present disclosure is generally related to a systems and methods toselect media content.

BACKGROUND

Media distribution and playback systems are becoming increasinglypopular. Services and systems that enable access to media content arewidely used. Certain systems enable users to store purchased media in amanner that may be more convenient (e.g., ripping media from a CD orDVD). Certain other systems enable users to download media content items(e.g., songs, movies, or other audio or video content) to a mediaplayer, such as an “MP3 player”. Still other systems allow users toaccess a predefined playlist or to specify a playlist of media content.Using any of these systems (as well as others), users may tire of thelimited media selection, the limitations of static playlists, and/or theannoyance of having to create new playlists to vary the media content.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a first embodiment of a system to selectmedia content;

FIG. 2 is a block diagram of a second embodiment of a system to selectmedia content;

FIG. 3 is a flow chart of a first embodiment of a method of selectingmedia content;

FIG. 4 is a flow chart of a second embodiment of a method of selectingmedia content;

FIG. 5 is a flow chart of a third embodiment of a method of selectingmedia content;

FIG. 6 is a flow chart of a fourth embodiment of a method of selectingmedia content;

FIG. 7 is an illustration of a first embodiment of a user interfacedisplay;

FIG. 8 is an illustration of a second embodiment of a user interfacedisplay;

FIG. 9 is an illustration of a third embodiment of a user interfacedisplay;

FIG. 10 is an illustration of a fourth embodiment of a user interfacedisplay;

FIG. 11 is an illustration of a fifth embodiment of a user interfacedisplay;

FIG. 12 is an illustration of a sixth embodiment of a user interfacedisplay;

FIG. 13 is an illustration of a seventh embodiment of a user interfacedisplay; and

FIG. 14 is a block diagram of a general computer system.

DETAILED DESCRIPTION

In a particular embodiment, a method includes generating a mediaplaylist based on user preference data. The user preference dataindicates proportions of each of a plurality of categories of mediacontent to be present in the media playlist. The method also includesgenerating a user interface display. The user interface display presentsthe user preference data using a plurality of adjustable bars. Eachadjustable bar is associated with one of the categories of mediacontent, and a dimension of each adjustable bar is associated with theproportion of the respective category of media content included in themedia playlist. The method further includes receiving user inputadjusting the dimension of a first bar. The first bar is associated witha first category of the plurality of categories of media content. Themethod also includes adjusting the proportion of the first category ofmedia content included in the media playlist based on the user input togenerate a modified media playlist.

In another particular embodiment, a system includes a media selectionmodule to generate a media playlist based on user preference data. Theuser preference data indicates proportions of each of a plurality ofcategories of media content to be present in the media playlist. Thesystem also includes a graphical user interface (GUI) module to presenta user interface display including a representation of the userpreference data using a plurality of adjustable bars. Each adjustablebar is associated with one of the categories of media content, and adimension of each of the adjustable bars is associated with a proportionof the respective category of media content included in the mediaplaylist. The system further includes an input interface to receive aninput to adjust the dimension of a first bar. The first bar isassociated with a first category of the plurality of categories of mediacontent. The system also includes a user settings module to adjust theuser preference data based on the input.

Another particular embodiment includes a computer-readable storagemedium. The computer-readable storage medium includes operationalinstructions that, when executed by a processor, cause the processor togenerate a media playlist based on user preference data. The userpreference data indicates proportions of each of a plurality ofcategories of media content to be present in the media playlist. Thecomputer-readable storage medium also includes operational instructionsthat, when executed by the processor, cause the processor to generate auser interface display. The user interface display presents the userpreference data using a plurality of adjustable bars. Each adjustablebar is associated with one of the categories of media content, and adimension of each of the plurality of adjustable bars is associated witha proportion of the respective category of media content included in themedia playlist. The computer-readable storage medium further includesoperational instructions that, when executed by the processor, cause theprocessor to adjust the proportion of a first category of media contentincluded in the media playlist based on received user input to adjustthe dimension of a first bar. The first bar is associated with the firstcategory of the plurality of categories of media content.

In yet another embodiment, a method includes dynamically selecting mediacontent items for presentation by a media player based on mediaselection settings. The method also includes generating an outputincluding a current media content item of the dynamically selected mediacontent items. The method further includes accessing a selected mediacontent item from a memory when the selected media content item becomesthe current media content item. When the selected media content item isavailable at a first local memory, the selected media content item isaccessed from the first local memory. When the selected media contentitem is not available at the local memory, a request is sent to a remotenetwork device to send the selected media content item from a remotememory.

In another particular embodiment, a system includes a media selectionmodule to dynamically select media content items for presentation basedon media selection settings. The system also includes a memory deviceinterface to access the media content items selected by the mediaselection module. When a particular selected media content item isavailable at a first local memory, the memory device interface accessesthe particular selected media content item from the first local memory.When the particular selected media content item is not available at thefirst local memory, the memory device interface sends a request to aremote network device to send the particular selected media content itemfrom a remote memory. The system also includes a media player coupled tothe memory device interface to generate an output stream including thedynamically selected media content items accessed via the memory deviceinterface.

Another particular embodiment includes a computer-readable storagemedium. The computer-readable storage medium includes operationalinstructions that, when executed by a processor, cause the processor todynamically select media content items for presentation based on mediaplaylist selection settings. The computer-readable storage medium alsoincludes operational instructions that, when executed by the processor,cause the processor to access the selected media content items. When aparticular selected media content item is available at a local memory,the particular selected media content item is accessed from the localmemory. When the particular selected media content item is not availableat the local memory, a request is sent to a remote network device tosend the particular selected media content item from a remote memory.The computer-readable storage medium further includes operationalinstructions that, when executed by the processor, cause the processorto generate an output stream including the dynamically selected mediacontent items.

In a particular embodiment, a method includes dynamically selectingcontent items for presentation via a media player based on user mediaselection settings. The user media selection settings specify aproportion of a first category of media content to be presented and aproportion of at least one second category of media content to bepresented. The at least one second category includes a user definedcategory. First media content is associated with the first categorybased on an intrinsic property of the first media content, and secondmedia content is associated with the user defined category based on aproperty that is not intrinsic to the second media content. The methodalso includes generating an output stream presenting the dynamicallyselected content items.

In another particular embodiment, a system includes a media selectionmodule to dynamically select media content items for presentation basedon user media selection settings. The user media selection settingsspecify a proportion of a first category of media content to bepresented and a proportion of at least one second category of mediacontent to be presented. The at least one second category includes auser defined category. First media content is associated with the firstcategory based on an intrinsic property of the first media content, andsecond media content is associated with the user defined category basedon a property that is not intrinsic to the second media content. Thesystem also includes a media player to generate an output streampresenting the dynamically selected media content items.

A particular embodiment includes a computer-readable storage medium. Thecomputer-readable storage medium includes operational instructions that,when executed by a processor, cause the processor to dynamically selectmedia content items for presentation based on user playlist settings.The user playlist settings specify a proportion of a first category ofmedia content to be presented and a proportion of at least one secondcategory of media content to be presented. The at least one secondcategory includes a user defined category. First media content isassociated with the first category based on an intrinsic property of thefirst media content, and second media content is associated with theuser defined category based on a property that is not intrinsic to thesecond media content. The computer-readable storage medium furtherincludes operational instructions that, when executed by the processor,cause the processor to generate an output stream to present thedynamically selected media content items.

FIG. 1 is a block diagram of a first embodiment of a system to selectmedia content. The system includes a media player device 102 adapted topresent media content to a user. The media content may include one ormore of audio, video, images, speech or any combination thereof. Thesystem may also include a remote network device 106 coupled to the mediaplayer device 102 via a network 104. The remote network device 106 maybe a server or other computing device used to provide media content tothe media player device 102. For example, the remote network device 106may be coupled to a remote memory 108. A plurality of media contentitems (e.g., digital files embodying media content) may be stored at theremote memory 108. In a particular embodiment, the media player device102 is coupled to the network 104 via a landline connection 105. Forexample, the landline connection 105 may include one or more coaxialcables, one or more optical fibers, one or more wire pairs, otherphysical connections, or any combination thereof. In another particularembodiment, the media player device 102 is coupled to the network 104via a wireless connection 143 provided by a wireless service provider142.

The media player device 102 may include a local memory 128 (e.g., amemory onboard or coupled to the media player device 102) that storesmedia content for presentation via the media player device 102.Additionally, the media player device 102 may communicate with one ormore additional local devices 139 to access media content stored at asecond local memory 140 of the one or more local devices 139. The localdevices 139 may include desktop computers, notebook computers, mediaservers, entertainment system devices (e.g., set-top boxes, CD players,DVD players, etc.), other devices that store or access media contentstored at a local memory, or any combination thereof. The local devices139 may communicate with the media player device 102 directly, or viathe network 104. The network 104 may include a local area network or awide area network. For example, the network 104 may include or be aportion of the Internet.

In a particular embodiment, the media player device 102 includes a mediaselection module 112. The media selection module 112 may generate amedia playlist (i.e., a selection of media content items forpresentation via the media player device 102). The media selectionmodule 112 may access user preference data 116 and generate the mediaplaylist based on the user preference data 116. The user preference data116 may indicate proportions of each of a plurality of categories ofmedia content to be present in the media playlist. For example, the userpreference data 116 may include information specifying one or more mediamixes. Each media mix may identify one or more categories of mediacontent to be present in a media stream and a percentage of the mediastream to be selected from each of the one or more categories. The userpreference data 116 may be received via a user settings module 114. In aparticular embodiment, the media selection module 112 generates themedia playlist dynamically by selecting one or more subsequent mediacontent items to be presented based on the user preference data 116while a current media content item is being presented by the mediaplayer device 102. The number of subsequent media content items selectedmay be determined based on a user specified parameter of the userpreference data 116.

The user preference data 116 may include media selection settings. Themedia selection settings may specify proportions of one or morecategories of media content to be presented. For example, the mediaselection settings may specify a proportion of a first category of mediacontent to be presented and a proportion of at least one second categoryof media content to be presented. The categories may include userdefined categories, predetermined categories, or both. In a particularembodiment, media content is associated with at least one of thecategories based on an intrinsic property of the particular mediacontent. For example, the media content may be associated with thecategory based on a tempo, a beat, a rhythm, a type of instrument used,a duration, an artist, a title, a genre, an album (or other mediacontent compilation), a release date, a type of media (e.g., audio,video, etc.), another property that is intrinsic to the media content,or any combination thereof. In a particular embodiment, media content isassociated with at least one of the categories based on a property thatis not intrinsic to the media content. For example, the media contentmay be associated with the category based on a storage location of themedia content, a universal resource identifier (URI) or universalresource locator (URL) from which the media content is accessible,another property that is not intrinsic to the media content, or anycombination thereof.

In a particular embodiment, the media selection module 112 selects themedia content based on a determination of what media content isavailable for presentation. For example, the media player device 102 mayinclude a memory device interface 122. The memory device interface 122may determine one or more memory devices that are available to the mediaplayer device 102. To illustrate, the memory device interface 122 maydetermine whether the second local memory 140, the remote memory 108, orboth, are accessible by the media player device 102. The media selectionmodule 112 may select media content to generate a media playlist 130based on the memory devices that are accessible.

The memory device interface 122 may also be operable to access mediacontent items selected for presentation by the media selection module112. For example, the memory device interface 122 may access the mediacontent items of the media playlist 130 to generate an output based onthe media playlist 130. The memory device interface 122 may access themedia content items that are available at the local memory 128 of themedia player device 102 from the local memory 128. Additionally, when aparticular media content item is not available at the local memory 128,the memory device interface 122 may access the particular media contentitem at the remote memory 108 via the remote network device 106. In aparticular embodiment, when the particular media content item is notavailable at the local memory 128, the memory device interface 122accesses the particular media content item at the second local memory140 via the local device 139. For example, after determining that theparticular media content item is stored at the second local memory 140,the memory device interface 122 may send a request via the network 104to the remote network device 106. The request may identify theparticular media content item and the storage location of the particularmedia content item. The remote network device 106 may send a request forthe particular media content item to the local device 139. The localdevice 139 may respond to the request from the remote network device 106by sending the particular media content item to the remote networkdevice 106. The remote network device 106 may send the particularcontent item to the media player device 102. In an illustrativeembodiment, the media player device 102 includes a mobile communicationsdevice and the local device 139 includes a computing device that is notin direct communication with the mobile communications device (such as adesktop computer). Thus, media content stored at the second local memory140 of the local device 139 can be accessed by the media player device102 even when the media player device 102 and the local device 139 arenot in direct communication.

The media player device 102 may also include a graphical user interface(GUI) module 118. The GUI module 118 may present a user interfacedisplay at an output 126 of the media player device 102. In a particularembodiment, the user interface display includes a representation of theuser preference data 116 using a plurality of adjustable displayobjects. For example, the adjustable display objects may includeadjustable bars in a bar graph. Each of the adjustable display objectsmay be associated with one of the categories of media content. Adimension (e.g., length, width, area, etc.) of each of the adjustabledisplay objects is associated with a proportion of the respectivecategory of media content included in the media playlist.

The user interface display may also include a list identifyingpreviously presented media content items (also called a stream list).The stream list may include the previously presented media contentitems, a current media content item (i.e., a media content item beingpresented) and one or more pending content items (e.g., media contentitems that have been selected by the media selection module 112 forpresentation but have not yet been presented). In a particularembodiment, each of the identified previously presented media contentitems is presented via the user interface display in a color thatidentifies a category from which the media content item was selected.For example, the media content item may be presented in a colorcorresponding to a color of a particular one of the plurality ofadjustable display objects. The particular adjustable display object maybe associated with the category of media content from which the mediacontent item was selected.

The media player device 102 may also include an input module 120 (alsocalled an input interface). The input module 120 may receive input froma user to modify the user preference data 116. For example, the user mayinteract with the user interface display via the input module 120 toadjust a dimension of a first bar in the user interface display. Thefirst bar may be associated with a first category media content. Inresponse to the user adjusting the first bar, the user settings module114 may determine new user preference data 116. The proportion of thefirst category in the media playlist 130 may be modified based on theadjustment to the first bar. For example, when the first bar islengthened, the proportion of the first category of media content in themedia playlist 130 may be increased. Conversely, when the first bar isshortened, the proportion of the first category in the media playlist130 may be decreased. Additionally, proportions of one or more othercategories of media content may also be modified to accommodate thechanges to the proportion of the first category. The new user preferencedata 116 generated by the user settings module 114 in response to theuser input may include the modified proportions.

The media player device 102 may also include a media player 124. Themedia player 124 may be operable to generate an output (e.g., at theoutput 126 of the media player device 102) including a current mediacontent item. The media player 124 may receive media content items fromthe memory device interface 122. In a particular embodiment, the mediaplayer 124 may decode, buffer, or otherwise process the received mediacontent items to generate the output 126.

In a particular embodiment, systems and methods for selecting mediacontent may be used to provide a streaming media service. A streamingmedia server may enable users to personalize a dynamically variablestream of media on the basis of user defined category based percentages.The streaming media service may provide a broad range of network basedcontent and may also mix locally available content into the stream.Additionally, the streaming media service may enable a media player(e.g., the media player 124 or the media player device 102) to includecontent that is stored locally, but not on the media player (e.g., mediastored on a desktop computer) in the media stream. The stream of mediacontent may be generated dynamically based on specified categories. Thecategories may be pre-determined, user defined, or both. Additionally,the user may specify percentages (or other proportions) of each categoryto be in the media stream. The media stream may be provided across avariety of user devices, including, mobile communication devices,dedicated media devices (e.g., MP3 players, portable digital video diskplayers, digital video recorders, etc.), portable computing devices,desktop computing devices, entertainment system devices (e.g., set-topbox devices, compact disk players, digital video disk players,televisions, high-definition televisions etc.), other computing devices,or any combination thereof. Additionally, different mixes of media maybe scheduled to be presented automatically based on time, day, date,location or other factors.

At start up, a default media stream may be automatically provided. In aparticular embodiment, the default media stream is at least partiallypersonalized based on the user's demographic information. The user maysubsequently define personalized media mixes. A particular user mayspecify multiple different media mixes. The media mixes may be scheduledto automatically be applied at different times. For example, acalendar-like interface may be used to display when the user's variousmedia mixes are to be used, to change their duration, sequencing,repetition, other scheduling-based changes to the media mix or selectionof the media mix to use, or any combination thereof.

In a particular embodiment, the streaming media service may be accessedusing a media player (e.g., the media player 124). The media player 124may include controls to control the media stream, e.g., to stop, pause,rewind, fast forward, skip particular media content, replay particularmedia content, and so forth. The media player 124 may generate a userinterface display that provides the controls as user selectable displayobjects. Additionally, the user interface display may includeinformation about media selection settings used to select the mediastream. For example, the user interface display may represent a mediamix as a bar graph with the categories displayed on the X-axis andpercentage values displayed on the Y-axis. When the representation ofthe media mix is displayed while the media player 124 is presentingmedia content, a display object (e.g., a bar) associated with thecategory corresponding to the media content currently playing may behighlighted and/or animated in the user interface display. For example,the display object may move to the beat of music being played by themedia player 124. Categories in the user interface display may bedepicted in different colors to enable a user to differentiate thecategories. This may also provide the basis for associating selectedsongs with their corresponding categories by displaying the names of theselected songs in the same color as the associated category. In aparticular embodiment, the user interface for the streaming mediaservice may be implemented using one or more applets that may beindividually opened, closed, or linked together.

The user interface display may also include display objects associatedwith categories of media content that are not in the media mix beingpresented by the media player 124. The display objects may begraphically displayed as “pseudo-albums”. For example, one or more ofthe display objects may look like an album cover displaying a name ofthe category along with a graphic image (such as an artist associatedwith the category, imagery representative of the category, and soforth). The graphic image may be selected by the user, selected at thestreaming media service, or selected automatically based on an analysisof the category.

The user interface display may enable the user to drag and drop acategory from the set of categories that are not in the current mediamix to the media mix display to add the category to the media mix. Acategory may also be added to the media mix by selecting an ‘Add To Mix’user selectable display option, or through usage of menus associatedwith the user interface display.

The user interface display may also include a stream list that provideschronological information regarding media content that has beenpresented. For example, where the media content includes music, thestream list may provide an artist name or other artist information and asong title. The stream list may also provide other information, such asan album, a genre, a date, a category, or any combination thereof. Thestream list may color code the information according to the categoryfrom which the media content was chosen. The color coding may provide avisual indication that associates the media content being presented andthe associated category.

A user may add a media content item (e.g., a song, a video clip, oranother media file) to a category from the stream list. For example, theuser interface display may include a user selectable display object toadd a selected media content item from the stream list to a category,such as a favorites category. The user may establish more than onefavorites category. For example, the user may specify differentfavorites categories for different types of media, for different genresof media, or based on other factors intrinsic to or not intrinsic to themedia content. To illustrate, the user may specify a favorite bluescategory, a favorite female vocals category, and so forth. In aparticular embodiment, a user may specify media content to add to afavorites category via the user interface display. For example, when aparticular media content item is being presented, the user may select auser selectable display option or perform a specific key sequence to addthe media content item to the favorites category. In a particularembodiment, a storage location of a media content item is not changedbased on the media content item being placed in the favorites category;rather, a list is generated that includes pointers to storage locationsassociated with media content items in the favorites category. Inanother particular embodiment, the storage location of the media contentitem is modified, or an additional copy of the media content item isstored when the media content item is added to the favorites category.

In a particular embodiment, a user of the streaming media service may beprovided with a personalized, dynamically variable stream of mediacontent on the basis of user defined categories and user specifiedpercentages. The media content that makes up the stream of media contentmay be determined based on the user's media profile, which the user maydefine according to his or her preferences. The media profile mayinclude one or more user defined media mixes that specify thecomposition of the stream of media content. Different media mixes mayspecify different streams of media content. The media profile may alsoinclude a play schedule. The play schedule may determine the conditionsunder which different media mixes are applied to determine the stream ofmedia content. Thus, the play schedule enables the stream of mediacontent to automatically vary based on the conditions, such as time ofday, day of week, location, date, other user specified conditions, orany combination thereof.

In a particular embodiment, a media mix includes header informationdescribing the mix, the categories of media associated with the mediamix, and proportions of each category used to generate the stream ofmedia content. The media mix may be used to dynamically vary the mediacontent that is presented. The media mix may also identify one or morespecific media content items to be presented. For example, a userdefined category may include only a single media content item.

In a particular embodiment, a media profile includes user identificationinformation, one or more media mixes, a play schedule, and a stream list(e.g., the media playlist 130). The user identification information mayinclude a user identifier associated with a user that is unique withrespect to the streaming media service. Alternatively, a Public UserIdentity (PUID), as defined in the Third Generation Partnership Project(3GPP) Internet Protocol (IP) Multimedia System (IMS) could be used forthis purpose. A billing number associated with a user account may beused as the user identifier. Alternatively, a billing number associatedwith a user account of a related service may be used. For example, abilling number of an account with an internet service provider (ISP), amobile communication service provider, a telephone service provider, amedia service provider (e.g., a radio or television provider), oranother communication service provider may be used.

Media content items presented via the streaming media service are eachassociated with a category. During run time (i.e., as the streamingmedia service is operating), media content items are dynamicallyselected on the basis of criteria specified by the categories and theproportions of the categories specified to be present. Categories mayinclude various mechanisms for selecting media content items. Forexample, a category may select media content items based on a searchresult. That is, the category may specify search criteria. The searchcriteria may specify search terms, such as an artist, a title, an album,a genre, a year, a time period (e.g., a decade), a type of media (e.g.,audio, video, both), a tempo, a duration, other information associatedwith particular media content items, or any combination thereof. Thesearch criteria may also specify a search location, such as a particularlist to search (e.g., a Top 100 list) or a particular location to search(e.g., a network address, a memory device, a folder, etc.).

In another example, a category may specify that media content items areto be selected based on a static or dynamic list. To illustrate, themedia content item may point to a web-based list, such as a “Top Hits”list, a “Best of” list, a regional list (e.g., associated with aspecific geographic region), a time-based list (e.g., “Hits of the60's”, etc.), a genre-based list (e.g., Blues, Jazz, Heavy Metal, etc.).In another illustrative example, the category may search a listassociated with another user, such as a friend's playlist or favoriteslist.

In another example, a category may specify that media content items areto be selected based on a recommendation mechanism. To illustrate, mediacontent items may be selected that are determined to be similar to mediain the user's favorites folder. For example, songs that are determinedto be similar to songs in the user's favorites folder may be selected bya particular category of media content. In another illustrative example,media content items may be selected by the category based on the mediacontent items being popular among a particular group of users (e.g.,users that have similar tastes, or similar demographics to the user). Inanother example, a category may specify that media content items may beselected based on a user specified criteria, such as a storage locationof the media content.

In a particular embodiment, a user can manually select a media mix toapply. By default, the last used media mix may be applied when the mediaplayer is launched or started. Additionally, the media mix may beselected automatically based on specified user preferences (e.g., basedon time, day, date, location, etc.). A manually invoked media mix maypre-empt a scheduled media mix. Additionally, a manually invoked mediamix may continue until terminated by the user or until the media playeris closed. A calendar-like user interface may be provided for visuallyscheduling different music mixes, and showing the relationships betweenthe scheduled playing times.

A media mix may include header information such as a name of the mediamix to provide for user identification of the media mix, a name of thecreator of the media mix, a date created, a last date or time the mediamix was used, a description of the media mix, other media mix relateddata, or any combination thereof.

In a particular embodiment, a media mix may be maintained (e.g., stored)at a network element associated with the streaming media service. Themedia mix may also be stored at a local user device (e.g., the localdevice 139), such as a desktop computer, a notebook computer, a portablemedia player, or another computing device. When a local copy of themedia mix is stored at the local user computing device, the user mayupdate the local copy of the media mix at the local user device andsynchronize the local copy of the media mix with the copy of the mediamix at the remote network element.

In a particular embodiment, the media mix may be configured based onuser preference information. For example, a user may be provided withsamples of music and prompted to rate the samples. The samples could berepresentative music samples from various categories of music. Forexample, the songs could be rated based on a scale of 1 to 3, 1 to 5, 1to 10, or based on some other scale. A category score may be determinedbased on the user preference information. The category score may be usedto determine a percentage of each of a plurality of categories of mediacontent to be included in the media mix. For example, when a scale of 1to 5 is used, the top rated categories (e.g., those with an averagerating of higher than 3) may be selected to be included in the mediamix. Additionally, the percentage of each of the categories of mediacontent in the media mix may be proportionally assigned based on theaverage rating of each of the categories. If none of the categoriesreceive a rating higher than 3, another technique may be used toautomatically generate the media mix (such as, generating a mix of allcategories of media content available to the media player). A hierarchyof media content may be used to narrow down the user preferenceinformation. For example, when the user likes (e.g., rates highly) asample from the song “Jumping Jack Flash” by the Rolling Stones, othersimilar media content, such as other 60's rock and roll, may bepresented to determine whether the user likes the entire category ofmedia content.

The user may choose to repeat the user preferences gathering process todevelop different media mixes for different types of media. For example,the user may use the process to generate user preferences informationfor different types of music, such as meditation, high energy, andFemRock.

The user preference information may be stored at a network elementassociated with the media streaming service. Additionally, a copy of theuser preferences information may be stored at a user device (e.g., theuser preference data 116 of the media player device 102). An advantageof gathering user preference information as compared to the useridentifying known categories, artists, or media content items, is thatthe user may not know how to accurately describe the category orcategories of media content that the user prefers. Thus, gathering userpreference information may enable more accurate selection of categoriesand may allow the user to expand his or her media horizons to encompassmedia content to which the user has not previously been exposed.

In a particular embodiment, an initial media mix is defined based on avariety of user information that is available to a provider of thestreaming media service. For example, the user information may includedemographic information provided by the user when the service isinitiated. Alternatively, the user information may be based on alocation from which the user accesses the streaming media service. Forexample, a user in a particular geographic area may receive a defaultmedia mix based on an average or other statistical evaluation of mediapreferences of other users in that geographic area. In anotherparticular embodiment, the user uploads or points to a list offavorites. The user preference information is determined by analyzingthe list of favorites. For example, a distribution curve may bedetermined based on the content specified in the list of favorites. Toillustrate, the user preferences may be identified by determining agenre or other category of each media content item specified in the listof favorites. Additionally, a percentage of genre or other category maybe determined.

After the initial media mix is determined, the media mix may be refinedautomatically based on user feedback. For example, the streaming mediaservice may identify media content that is similar to content that theuser has indicated a preference for. To illustrate, where the mediacontent is music, the streaming media service may determine other musicthat sounds similar to music that the user enjoys. The similar music maybe selected based on an analysis of various characteristics of theuser's favorite music. For example, the analysis may include beat,harmony, rhythm, tempo, vocals, genre, instruments used, a time periodassociated with the content, artists, other information about the mediacontent, or any combination thereof. Based on the analysis, a mediasignature may be developed. The media signature may be used to searchfor other media content that the user may enjoy.

When a category is added to a media mix, it may initially be assigned adefault proportion value, or a user provided proportion value. Theproportion value may indicate a proportion of the media stream thatshould come from the category. To illustrate, a first category added toa new media mix may contribute 100% to the mix since it is the onlycategory in the media mix. When a second category is added to the mediamix, a proportion value of the second category may be assigned a defaultvalue of 50%, and the proportion value of the first category may bechanged to 50%. Alternately, the user may specify the proportion valueto be assigned to the second category. For example, the user may specifythat the second category should contribute 25% to the media mix, inwhich case the first category's proportion value will be changed from100% to 75%. When each additional category is added, the user may beprompted for the desired proportion value that the added category shouldcontribute to the media mix. The proportion values of one or more of thecategories already in the media mix may be automatically adjustedaccordingly.

The user may subsequently change the proportion of any of the categoriesin a media mix. For example, the percentages of each category in themedia mix can be displayed, and the user can manually adjust each value.In another example, a graphical representation of the media mix may bepresented to the user. The graphical representation may represent eachcategory in the media mix in a manner that illustrates the proportionthat each category contributes to the media mix. When the user changesthe proportion that a category contributes to the media mix, thegraphical representation may be adjusted to illustrate the change.Additionally, the user may adjust the proportion of each category in themedia mix by interacting with the graphical representation. Toillustrate, a size of a display object representing a first category maybe adjusted by selecting and modifying the display object. Theproportion of the first category in the media mix may be adjusted inresponse to the user interaction. Additionally, proportions of one ormore other categories may be adjusted to ensure that 100% of the mediamix is accounted for.

In a particular embodiment, a proportionate percentage categoryadjustment technique may be used. For example, an algorithm may be usedto determine a percentage of each category in the media mix after anadjustment is made to one of the categories. In a particular embodiment,the algorithm may be applied in order from the category that makes upthe largest proportion of the media mix to a category that makes up thesmallest proportion of the media mix. The proportion determined may berounded up. Using this process, categories that make up largerproportions of the media mix may receive larger adjustments thancategories that make up a smaller proportion of the media mix. If thealgorithm does not provide sufficient adjustment due to rounding errors,then any remaining adjustments needed (e.g., to make the total equal100%) may be added to the category that makes up the largest proportionof the media mix. Additionally, a minimum proportion may be specified.Categories of media content that do not contribute at least the minimumproportion to the media mix may be removed from the media mix. Further,a maximum number of categories that may be used to determine the mediamix may be specified. When a new category is added to the media mix, oneor more categories that form a smaller proportion of the media mix maybe removed from the media mix when the maximum number of categories isexceeded.

In a particular embodiment, a length of the stream list (e.g., a numberof previously presented media content items and a number of contentitems yet to be presented) may be adjusted based on user configurablesettings. The stream list may include a pointer or other indicatordesignating the media item currently being presented. The user may movethe pointer or other indicator to advance to the next media content itemor to replay a media content item previously presented.

The stream list may provide a history of media content items presented.For example, when the media content includes music, the stream list mayidentify an artist and song title of a currently playing song, and anumber of previously played songs. Additionally, at least one song thathas been selected for presentation but that has yet to be played may bedisplayed. For example, a next song to be played may be displayed. Theuser interface may provide additional information related to the mediacontent items in the stream list when a media content item is selectedin the stream list. In addition to providing a list of media contentitems played, the stream list may also enable the user to skip ahead, orreturn to a previously presented media content item. Note that thestream list is not merely a static playlist. Rather, the stream list isa dynamically generated list of media content items. For example, thestream list may change in real time as new media content items areselected to be presented.

In a particular embodiment, the stream list may be stored in a mannerthat is persistent. That is, when the media player (e.g., the mediaplayer 124) is closed or not in use, the stream list may be maintainedso that when the user restarts the media player, the stream list startswhere the user last left it. The stream list persistence may be providedeven if the user uses the streaming media service at more that one userdevice. For example, the stream list may be stored at a remote networkelement (e.g., the remote network device 106) that is accessible bydevices that the user uses to access the stream list. When a user startsthe media player, the most recent stream list may be downloaded from theremote network element to the client (e.g., the user's media playerdevice).

When a user starts the streaming media service for the first time, thestream list may be empty. A first media content item is selected as thecurrent media content item and played. Additionally, one or more secondmedia content items may be selected and shown in the stream list aspending items (i.e., media content items yet to be presented). When thefirst media content item is over, the first media content item may bepushed down the stream list to become a historical item, and the secondmedia content item may be advanced to become the current media contentitem.

The user may replay previously presented songs in the stream list byselecting them for play. This may be accomplished by scrolling a currentitem pointer through the stream list, and selecting a previouslypresented content item for presentation. In a particular embodiment, anindex value of the current item pointer is changed to an index value ofthe selected media content item, and the selected media content item ispresented via the media player as the current media content item. In aparticular embodiment, when the selected media content item ends, thecurrent item pointer advances up the stream list, replaying thepreviously presented songs in the same sequence as before. In anotherparticular embodiment, a subsequent pending item (e.g., the firstpending item) is presented after the selected content items ends.

In a particular embodiment, the streaming media service is operable evenwhen the remote network element is not accessible (e.g., when the user'smedia player device is off-line). During operation, the media player mayaccess and present media content that is available locally to the mediaplayer (e.g., stored at a device executing the media player), mediacontent that is stored at a remote memory, or any combination thereofbased on user preference settings or which content is accessible by themedia player device. In a particular embodiment, location or presenceinformation may be determined to select a media mix for presentation.For example, a particular music mix may be automatically selected andpresented when the user arrives at home on Friday night, and a differentmusic mix may be automatically selected when the user is at work.

In a particular embodiment, the media player may store media contentitems from the stream list at a buffer. The buffer may enable quickreplay of media content items on the stream list, mixing of localcontent and remote content, and persistence of media content betweensessions when the media player is off-line (e.g., does not have accessto a remote network element associated with the streaming mediaservice). In another particular embodiment, media content items may bereplayed by accessing the media content items from a memory. Forexample, media content items may be replayed by requesting the mediacontent items from the remote network element or from the local memoryat which the media content items are stored.

The media player may also accommodate digital rights management. Forexample, media content may be stored at the media player device in amanner that impedes or prohibits copying the media content to anotherstorage location. In another example, the media content items may beencrypted and a decryption key may be stored at the media player device.

In a particular embodiment, a user may access the streaming mediaservice using a portable device, such as a mobile telephone. A mediaplayer application at the mobile device may access the streaming mediaservice via a network, such as a wireless network. In a particularembodiment, a media player application at another user device, such as adesktop computer, may send media content to the portable device via thenetwork. Further, a multicast capability may be used to send mediacontent from the streaming media service to one or more user devices.Further, rather than streaming the media content in real time, the mediacontent may be downloaded to the media player device (e.g., in bursts).A buffer at the user's media player device may store the media content,which may be accessed from the buffer during presentation.

The streaming media service may generate revenue through advertising(e.g., receiving payment from advertisers for presenting advertisingcontent with the media content); through subscription fees (e.g.,monthly fees for access to the streaming media service or particularaspects of the streaming media service); through sales of media contentor related items (e.g., sales of media content items or related itemsprovided to users); through subscriber up-sales or retention (e.g.,costs of the streaming media service may be offset in whole or in partthrough revenue received for other services bundled with or offered inaddition to the streaming media service). In a particular embodiment,the streaming media service may be network-based and provide a limitednumber (e.g., one, two, five, or more) user editable media mixes peruser. Additional media mixes or functionality may be provided on asubscription basis.

In a particular embodiment, the streaming media service may be used by abusiness entity to customize media presented at various times, or onvarious days or dates. For example, a bar, a restaurant, or anotherestablishment may use input from customers to determine a music profile(or other media mix). Customers of the business entity may vote formedia content that they like or rate media content that is presented(e.g., via one or more kiosks). The music profile or media mix may bedetermined from the votes. For example, the votes or ratings may beanalyzed to determine categories that should be in the music profile ormedia mix by the selecting categories associated with media contentitems (e.g., songs) that receive the most votes or the highest ratings.

Media presented at an establishment may be determined based on the musicprofile or media mix. Since different customers may frequent theestablishment at different times, or on different days, the musicprofile or media mix used at a particular time or on a particular daymay be based on votes or ratings received during the particular time oron the particular day. Thus, the establishment may present media thatappeals to its customers at minimal cost.

FIG. 2 is a block diagram of a second embodiment of a system to selectmedia content. The system includes a media player device 202 adapted topresent media content to a user. The system may also include a remotenetwork device 206 coupled to the media player device 202 via a network204. The remote network device 206 may be a server or other computingdevice used to provide media content to the media player device 202. Forexample, the remote network device 206 may be a server associated with astreaming media service. The remote network device 206 includes a remotememory 208. A plurality of media content items (e.g., digital filesembodying media content) may be stored at the remote memory 208.

In a particular embodiment, the media player device 202 is coupled tothe network 204 via a landline connection 205. For example, the landlineconnection 205 may include one or more coaxial cables, one or moreoptical fibers, one or more wire pairs, other physical connections, orany combination thereof. In another particular embodiment, the mediaplayer device 202 is coupled to the network 204 via a wirelessconnection 243 provided by a wireless service provider 242.Additionally, one or more additional local devices 239 may be coupled tothe network 204 via landline connections or wireless connections.

The media player device 202 may include a media player 224. The mediaplayer 224 may be operable to generate an output (e.g., at an output 226of the media player device 202) including media content. The mediaplayer 224 may receive media content items from a local memory 228 orfrom the remote network device 206. In a particular embodiment, themedia player 224 may decode, buffer, or otherwise process the receivedmedia content items to generate the output 226.

In a particular embodiment, the remote network device 206 includes amedia selection module 212. The media selection module 212 maydynamically select media content items for presentation at the mediaplayer device 202. The media selection module 212 may access userpreference data 216 and select the media content items based on the userpreference data 216. The user preference data 216 may indicateproportions of each of a plurality of categories of media content to bepresent in a media playlist 230. For example, the user preference data216 may include information specifying one or more media mixes. Eachmedia mix may identify one or more categories of media content to bepresent in a media stream and a percentage of the media stream to beselected from each of the one or more categories. In a particularembodiment, the media selection module 212 generates the media playlist230 dynamically by selecting a next media content item to be presentedbased on the user preference data 216 while a current media content itemis being presented at or sent to the media player device 202.

The media player device 202 may include a local memory 228 (e.g., amemory onboard or coupled to the media player device 202) that storesmedia content for presentation at the media player device 202.Additionally, the remote network device 206 may communicate with the oneor more additional local devices 239 to access media content stored at asecond local memory 240 of the one or more additional local devices 239and to provide the media content to the media player device 202. Theadditional local devices 239 may include media servers, mobilecommunication devices, dedicated media devices (e.g., MP3 players,portable digital video disk players, digital video recorders, etc.),portable computing devices, desktop computing devices, entertainmentsystem devices (e.g., set-top box devices, compact disk players, digitalvideo disk players, televisions, high-definition televisions etc.),other devices that store or access media content stored at a localmemory, or any combination thereof. In a particular embodiment, theremote network device 206 sends a stream of data including media contentitems and instructions. The instructions may direct the media playerdevice to generate output that includes the media content items receivedvia the stream of data, and other media content items that are stored atthe local memory 228.

The media selection module 212 may select media content for presentationbased on user preference data 216. The user preference data 216 mayinclude media selection settings. The media selection settings mayspecify proportions of one or more categories of media content to bepresented. For example, the media selection settings may specify aproportion of a first category of media content to be presented and aproportion of at least one other category of media content to bepresented. The categories may include user defined categories,predetermined categories, or both. In a particular embodiment, mediacontent is associated with at least one of the categories based on anintrinsic property of the particular media content. For example, themedia content may be associated with the category based on a tempo, abeat, a rhythm, a type of instrument used, a duration, an artist, atitle, a genre, an album (or other media content compilation), a releasedate, a type of media (e.g., audio, video, etc.), another property thatis intrinsic to the media content, or any combination thereof. In aparticular embodiment, media content is associated with at least one ofthe categories based on a property that is not intrinsic to the mediacontent. For example, the media content may be associated with thecategory based on a storage location of the media content, a universalresource identifier (URI) or a universal resource locator (URL) fromwhich the media content is accessible, another property that is notintrinsic to the media content, or any combination thereof.

In a particular embodiment, the media selection module 212 selects themedia content for presentation at the media player device 202 based on adetermination of what media content is available for presentation. Forexample, the remote network device 206 may include a memory deviceinterface 222. The memory device interface 222 may determine memorydevices that are accessible to the remote network device 206. Toillustrate, the memory device interface 222 may determine whether theadditional local device 239 is online and the second local memory 240 isaccessible to the remote network device 206. The media selection module212 may select media content to generate the media playlist 230 based onthe memory devices that are accessible.

The memory device interface 222 may also be operable to access mediacontent items selected for presentation by the media selection module212. For example, the memory device interface 222 may access the mediacontent items of the media playlist 230 to generate an output based onthe media playlist 230. The memory device interface 222 may access themedia content items that are available at the remote memory 208 from theremote memory 208. Additionally, when a particular media content item isavailable at the local memory 228, the memory device interface 222 maysend instructions to the media player device 202 to access theparticular media content item from the local memory 228. In a particularembodiment, when the particular media content item is available at thesecond local memory 240, the memory device interface 222 accesses theparticular media content item at the second local memory 240 via thelocal device 239. For example, after determining that the particularmedia content item is stored at the second local memory 240, the memorydevice interface 222 may send a request for the particular media contentitem to the local device 239. The local device 239 may respond to therequest from the remote network device 206 by sending the particularmedia content item to the remote network device 206. The remote networkdevice 206 may send the particular content item to the media playerdevice 202. In an illustrative embodiment, the media player device 202includes a mobile communications device and the local device 239includes a computing device that is not in direct communication with themobile communications device (such as a desktop computer). Thus, mediacontent stored at the second local memory 240 of the local device 239can be accessed by the media player device 202 even when the mediaplayer device 202 and the local device 239 are not in directcommunication.

In a particular embodiment, the media player device 202 includes agraphical user interface (GUI) module 218. The GUI module 218 presents auser interface display at an output 226 of the media player device 202.In a particular embodiment, the user interface display includes arepresentation of the user preference data 216 using a plurality ofadjustable display objects. For example, the adjustable display objectsmay include adjustable bars in a bar graph. Each of the adjustabledisplay objects may be associated with one of the categories of mediacontent. A dimension (e.g., a length, a width, an area, etc.) of each ofthe adjustable display objects is associated with a proportion of therespective category of media content included in the media playlist 230.

The user interface display may also include a list identifyingpreviously presented media content items. The list of previouslypresented media content items as well as a current content item may alsobe referred to as a stream list (or media playlist). The stream list mayinclude the previously presented media content items, a current mediacontent item (i.e., a media content item being presented) and one ormore pending content items (e.g., media content items that have beenselected by the media selection module 212 for presentation but have notyet been presented). In a particular embodiment, each of the identifiedpreviously presented media content items is presented via the userinterface display in a color that identifies a category from which themedia content item was selected. For example, the media content item maybe presented in a color corresponding to a color of a particular one ofthe plurality of adjustable display objects. The particular adjustabledisplay object may be associated with the category of media content fromwhich the media content item was selected.

The media player device 202 may also include an input module 220 (alsocalled an input interface). The input module 220 may receive input froma user to modify the user preference data 216. For example, the user mayinteract with the user interface display via the input module 220 toadjust a dimension of a first bar in the user interface display. Thefirst bar may be associated with a first category media content. Inresponse to the user adjusting the first bar, the user settings module214 may determine new user preference data 216. The proportion of thefirst category in the media playlist may be modified based on theadjustment to the first bar. For example, when the first bar islengthened, the proportion of the first category of media content in themedia playlist 230 may be increased. Conversely, when the first bar isshortened, the proportion of the first category in the media playlist230 may be decreased. Additionally, proportions of one or more othercategories of media content may be modified also to accommodate thechanges to the proportion of the first category. The new user preferencedata 216 generated by the user settings module 214 in response to theuser input may include the modified proportions.

FIG. 3 is a flow chart of a first embodiment of a method of selectingmedia content. The method includes, at 302, generating a media playlistbased on user preference data 304. The user preference data 304 mayindicate proportions 310 of each of a plurality of categories 306 ofmedia content to be present in the media playlist. The user preferencedata 304 may include at least one user defined category 308 as well assettings related to particular times 312, locations 314, or both. In aparticular embodiment, the user defined category 308 categorizes mediacontent based on a property that is not intrinsic to the particularmedia content. For example, the user defined category 308 may categorizeparticular media content based on a storage location of the particularmedia content. In another example, the user defined category 308 maycategorize particular media content based on the particular mediacontent being associated with a particular universal resource identifier(URI) or universal resource locator (URL). In a particular embodiment,the user defined category 308 categorize a plurality of otherwiseunrelated selected content items. That is, a particular user definedcategory 308 may include a plurality of media content items that areonly related because each media content item is associated with theparticular user defined category 308.

The method also includes, at 316, generating a user interface display318. The user interface display 318 presents at least a portion of theuser preference data 304 using a plurality of adjustable bars 322. Forexample, each of the adjustable bars 322 may be associated with one ofthe plurality of categories 306 of media content. A dimension of each ofthe adjustable bars 322 is associated with a proportion 310 of one ofthe respective categories 306 of media content. For example, asdiscussed further with reference to FIG. 8, a length of an adjustablebar in the user interface display 318 may indicate a percentage of amedia category in the media playlist. In other embodiments, otherdisplay objects may be used to represent the proportion of thecategories of media content in the media playlist.

The method may also include, at 324, receiving user input adjusting thedimension of a first bar of the plurality of adjustable bars 322. Forexample, the first bar may be associated with a first category of theplurality of categories 306 of media content. The method also includes,at 326, adjusting the proportion of the first category of media contentincluded in the media playlist based on the user input to generate amodified playlist. In a particular embodiment, adjusting the proportionof the first category of media content may include, at 328, adjusting apercentage of the first category of media content. Additionally, apercentage of at least one other category (e.g., a second category) ofmedia content may be adjusted, at 330. The proportion of the firstcategory of media content may be adjusted by modifying the userpreference data 304. For example, when the percentage of the firstcategory of media content is adjusted, at 328, the proportion 310indicated in the user preference data 304 may be modified. Additionally,one or more other proportions 310 may be modified to adjust thepercentage of the at least one other category of media content. Toillustrate, the user may shorten the first bar. In response to the usershortening the first bar, the percentage of the first category of mediacontent in the media playlist may be reduced. Additionally, thepercentage of one or more other categories of media content in the mediaplaylist may be increased such that 100 percent of the media playlist isaccounted for.

In a particular embodiment, the user interface display 318 may include acategory list 320. The category list 320 may include data identifying atleast one other category of media content. The at least one othercategory of media content is not included in the media playlist. Themethod may also include receiving input to add a category of mediacontent to the media playlist. For example, the method may include, at332, receiving second user input selecting and dragging data identifyingthe at least one other category of media content to a proportion of theuser interface display 318 including the plurality of adjustable bars322. For example, the user interface display 318 may include thecategory list 320 which identifies one or more first categories of mediacontent that are included in the media playlist as well as one or moresecond categories that are not included in the media playlist. At 332,the user may select a user interface element (such as an icon or textidentifying the category) representative of one of the second categoriesthat are not in the media playlist. The user may drag the user interfaceelement from the category list 320 to the adjustable bars 322 toindicate that the category should be added to the media playlist.Further discussion and description of this process is described withreference to FIGS. 12 and 13. In response to the second user input, theat least one other category of media content may be added to the mediaplaylist, at 334. For example, the user preference data 304 may bemodified to add a proportion of the second category of media content tothe media playlist.

The method may also include, at 336, generating an output and presentingthe output via a media player 338. In a particular embodiment, theoutput may include audio output, video output, or both. To illustrate,where the media content includes music, generating the output mayinclude playing selected musical arrangements via the media player 338.The media player 338 may include a consumer electronic device, such as aportable media player including input controls to control presentationof the media playlist (e.g., a keypad, buttons, or a touch screendevice), an output to present the media content (e.g., a display screen,a speaker, an output port), and a memory to store at least a portion ofthe media content (e.g., a solid-state memory device, or a hard diskdrive), and a processor to process the media content for display. Forexample, the media player may include a device such as the local devicediscussed with reference to FIG. 1 or FIG. 2.

In a particular embodiment, generating the output includes presenting atleast one media content item via the media player 338. While aparticular media content item is being presented, the user interfacedisplay 318 may include information identifying the particular mediacontent item. In an illustrative embodiment, a title or otheridentifying information associated with the particular media contentitem being presented may be displayed. Additionally, the particularmedia content item is associated with one of the plurality of categories306 of media content and the category of media content is associatedwith one of the adjustable bars 322. While the particular content itemis being presented, the particular adjustable bar associated with theparticular content item may be modified. For example, the particularadjustable bar may be animated in the user interface display 318 whilethe output includes the media content item.

In a particular embodiment, at least one of the plurality of adjustablebars 322 is displayed with a name identifying a representative mediacontent item. The representative media content item is a media contentitem selected from the category of media content associated with theadjustable bar. The representative media content item may be selectedbased on an automated process that identifies representative mediacontent items associated with categories, based on the user preferencedata 304 specifying a representative content item for one or more of theplurality of categories 306, based on a list or metadata identifyingrepresentative content items, or any combination thereof.

In a particular embodiment, the adjustable bars 322 are color coded inthe user interface display 318. That is, each adjustable bar 322 isassociated with a particular color. Additionally, informationidentifying particular media content items (e.g., titles, artists, etc.)may be presented in a color corresponding to the color of an associatedadjustable bar 322. For example, when a media content item is beingpresented, the title of the media content item may be displayed. Themedia content item is associated with a particular category of mediacontent, which is associated with a color-coded adjustable bar. Toindicate the particular category of media content with which the mediacontent item is associated, the title or other descriptive informationmay be color-coded in a manner that corresponds to the associatedadjustable bar. Similarly, in a particular embodiment, the userinterface display 318 includes a list identifying previously presentedmedia content items. Each of the previously presented media contentitems may be presented in a color corresponding to a color of one of theplurality of adjustable bars 322. The color of the media content item oran indicator associated with media content item may be linked to thecategory of the media content from which the previously presented mediacontent item was selected.

FIG. 4 is a flow chart of a second embodiment of a method of selectingmedia content. The method includes, at 402, receiving user inputconfiguring a particular media mix of a plurality of media mixes 404.Each media mix 404 may specify a plurality of categories of mediacontent to be presented and proportions of each category to bepresented. The user input may specify proportions of particularcategories of media content to be presented. In a particular embodiment,one or more of the media mixes 404 may specify proportions of particularcategories of media content to be presented on a particular date, at aparticular time, or both. The user input received may specify that aparticular media content item (or more than one particular media contentitem) is to be presented on the particular date, at a particular time,or both. For example, the user input may specify that a particular songis to be played via a media player at a specific date and/or time. Toillustrate, a user may specify, via the user input, that a favoriteparty song is to be played at midnight on New Years Eve. The user inputand the media mixes 404 may be stored in media selection settings 416.

The method may also include, at 408, determining media storage locations410 that are accessible to the media player. For example, the mediaplayer may perform a search to determine whether one or more local orremote memory devices can be accessed. In a particular embodiment, themethod includes, at 418, selecting one of the predetermined media mixes404. The selected predetermined media mix 404 specifies proportions ofeach of a plurality of categories of media content to be presented whenthe predetermined media mix is used. In a particular embodiment, one ofthe predetermined media mixes 404 may be selected based on theaccessible media storage locations 410, a time (e.g., a current time412) or on a location 414 (e.g., a current location of the mediaplayer). The method also includes, at 430, accessing media selectionsettings 416. For example, the selected predetermined media mix 404 maybe accessed. The method further includes, at 422, dynamically selectingmedia content items for presentation by the media player based on themedia selection settings 416, and, at 424, generating an outputincluding a current content item of the dynamically selected mediacontent items.

In a particular embodiment, the method includes, at 426, accessing aselected media content item from a memory when the selected mediacontent item becomes the current media content item. To illustrate, themedia selection settings 416 may be used to select a current mediacontent item and at least one subsequent media content item. When thecurrent media content item ends, the subsequent media content itembecomes the new current media content item and is presented by the mediaplayer. The media selection settings are then used to select a newsubsequent media content item. In this manner, a substantiallycontinuous stream of media content can be generated, with one mediacontent item starting as soon as or shortly after a previous mediacontent item ends. Before or when a media content item becomes thecurrent media content item, the media content item may be accessed froma memory. How and where the selected media content item is accessed frommemory may depend on which media storage areas are accessible to themedia player (e.g., the accessible media storage 410). For example, at428, when the selected media content item is stored at a first localmemory (e.g., a first local memory device 430), the selected mediacontent item is accessed from the first local memory device 430. When,at 428, the selected media content item is not available from the localmemory, a request may be sent to a remote network element 432 to sendthe selected media content item from a remote memory. In a particularembodiment, when, at 428, the selected media content item is stored at asecond local memory, the method may include, at 434, sending a firstrequest for the selected media content item from the media player to theremote network element 432. At 436, the remote network element 432 maysend a second request to the second local memory device associated withthe second local memory. In response to the second request, at 438, thesecond local memory device may send the selected media content item fromthe second local memory device to the remote network element 432. At440, the selected media content item may be sent to the media playerfrom the remote network element 432. In a particular illustrativeembodiment, the media player and the first local memory device 430 arepart of a portable media device. For example, the media player and firstlocal memory device may be part of a consumer device (e.g., an “MP3player”) or mobile communication device that includes a media playerfunction. The second local memory device may include a desktop computerdevice or another network-connected mass memory device that is notpresently directly accessible by the media player. When the selectedmedia content item is an item stored at the second local memory device,the media player may send a request to a remote network element via awide area network accessible by the media player (e.g., a mobiletelephony or data network). The request may specify the content item tobe accessed and a network address associated with the second localmemory (e.g., the desktop computer). The remote network element (e.g., aserver associated with a mobile telephony service provider network) maysend a request to the second local memory device, and the second localmemory device may send the selected media item to the remote networkelement. The remote network element may send the selected media item tothe media player via a network connection to the media player (e.g., themobile telephony or data network).

In a particular embodiment, the at least one media content item may beselected based on one or more user defined categories in the mediaselection settings 416. In a particular embodiment, the user definedcategories identify media content items based on a storage location ofthe media content items. For example, the user defined categories mayspecify that the storage location of the media content items is at thefirst local memory, at a particular folder of the first local memory, atthe remote memory, or at a particular network address, such as auniversal resource identifier (URI) or a universal resource locator(URL). In a particular embodiment, the at least one user definedcategory identifies media content items based on a property that is notintrinsic to the media content items. That is, particular media contentassociated with a user defined category may include a plurality ofotherwise unrelated media content items. The media selection settings416 may specify proportions of each of the plurality of differentcategories of media content to be presented.

In a particular embodiment, the method may also include generating auser interface display, as discussed further with reference to FIGS.7-13. The user interface display may present the media selectionsettings 416 using a plurality of adjustable display objects. Eachadjustable display object may be associated with one category of mediacontent. The user interface display may also include a list identifyingpreviously presented media content items. Each of the previouslypresented media content items may be presented in a color correspondingto a color of one of the plurality of adjustable display objectsassociated with the category of media content from which the previouslypresented media content item was selected.

FIG. 5 is a flow chart of a third embodiment of a method of selectingmedia content. The method also includes, at 504, dynamically selectingcontent items for presentation via a media player based on one or moreuser media selection settings 506. A particular user media selectionsetting 506 may specify proportions 512 of various categories 508, 510of media content to be presented. For example, the user media selectionsettings 506 may specify a proportion of a first category of mediacontent to be presented and a proportion of at least one other categoryof media content to be presented. The at least one other category ofmedia content may include a user defined category 510. In a particularembodiment, media content is associated with the plurality of mediacategories 508 based on an intrinsic property of the media content. Forexample, the media content may be associated with the plurality of mediacategories 508 based on a genre of the media content, a type of themedia content (e.g., audio, video, or both), a file format of the mediacontent, an artist (e.g., a person or group of people) associated withthe media content, a time period associated with the media content(e.g., a release date), a tempo of the media content, a length orduration of the media content, another property that is intrinsic to themedia content, or any combination thereof. The media content may beassociated with the user defined category 510 based on a property thatis not intrinsic to the media content. For example, the properties thatare not intrinsic to the media content may include a storage location ofthe media content (e.g., a memory device or folder where the mediacontent is stored), a network address at which the media content may beaccessed (e.g., a universal resource identifier (URI) or a universalresource locator (URL)), a time or date that the media content was savedto a particular storage location (e.g., a date a particular song wasadded to a favorites folder), another property that is not intrinsic tothe media content, or any combination thereof.

In a particular embodiment, the proportion 512 of each of the pluralityof categories in the user media selection settings 506 is determinedbased on a time 514, a location 516, or both. For example, the methodmay include determining a current time and day, at 502. A particular setof the user media selection settings 506 may be used to select mediacontent for display based on the time, the day, or the location of themedia player.

The method also includes, at 518, generating a user interface displayincluding information representing the user media selection settings506. For example, the proportion 512 of a first category of mediacontent and the proportion 512 of a second category of media content tobe presented may be displayed using a plurality of adjustable bars. Eachof the adjustable bars is associated with a different category of mediacontent and a length of each of the plurality of adjustable barsindicates the proportion (e.g., percentage, or a selection weightingfactor) of the respective category of media content to be presented.

In a particular embodiment, the method may also include, at 522,determining a storage location of a particular selected media contentitem. When, at 522, the particular selected content item is available ata first local device (such as a memory device associated with the mediaplayer), the method includes, at 526, accessing the selected mediacontent item from the first local device. When, at 522, the selectedmedia content item is stored at a remote device, the method may include,at 524, streaming the selected media content item from the remote devicevia a network. In a particular embodiment, when the selected mediacontent item is not stored at the first local device but is stored at asecond local device, the method may include, at 528, sending a requestto a remote network element. The request may cause the remote networkelement to send a second request to the second local device associatedwith the second local memory. The second request causes the second localdevice to send the selected media content item to the remote networkelement. The remote network element sends the selected media contentitem to the media player.

The method also includes, at 530, generating an output stream presentingthe dynamically selected media content items. For example, the outputstream may include a selection of media content such as music, video orboth, presented one content item after another. After presenting atleast one selected media content item, the method may include, at 532,again determining the current time and day. When the current time andday determined at 532 is associated with a second set of user mediaselection settings, the method may include, at 534, selecting subsequentmedia content items for presentation based on the second set of mediaselection settings.

FIG. 6 is a flow chart of a fourth embodiment of a method of selectingmedia content. The method includes, at 602, receiving voting input 604from a plurality of users. The voting input 604 may be used, at 606, todetermine user media selection settings. For example, the method mayinclude, at 608, determining first user media selection settings 612and, at 610, determining second user media selection settings 618. Thefirst user media selection settings 612 may be associated with aparticular time 614, a particular day 616, or both. The second usermedia selection settings 618 may be associated with a second particulartime 620, a second particular day 622, or both. The user media selectionsettings 612, 618 may specify proportions of various categories of mediacontent to be presented. In a particular embodiment, either the firstuser media selection settings 612, the second user media selectionsettings 618, or other user media selection settings may be used toselect media content for presentation based on the time, day or both. Ina particular embodiment, the method also includes, at 624, analyzing thevoting inputs 604 to determine media preferences of customers thatfrequent a particular business during particular times, on particulardays, or both. For example, the first user media selection settings 612may be determined based on voting input 604 received during a particulartime period, on a particular day, or both. To illustrate, the first usermedia selection settings 612 may be determined based on votes receivedfrom customers of a business between 6 p.m. and 8 p.m. on Monday nights.Likewise, the second user media selection settings 618 may be determinedbased on voting input 604 received during a second particular timeperiod, on a second particular day, or both. To illustrate, the seconduser media selection settings 618 may be determined based on votesreceived from customers of the business between 11 a.m. and 1 p.m. onFridays. The media preferences of customers 626 may also include otheruser media selection settings associated with other times 628, otherdays 630, or both. The user media selection settings may be used todynamically select media content for presentation at the respectivetimes 614, 620, on the respective days 616, 622, or both. For example, abusiness may play media content based on the media preference of thecustomers 626 depending on a current time and a current day.

To illustrate, a particular business, such as a restaurant, a bar, adoctor's office, or any other establishment that desires to provide amedia stream to its customers, may subscribe to a streaming mediaservice, such as the streaming media service discussed with reference toFIG. 1. The customers of the particular business may provide the votinginput 604. The voting input 604 may reflect the tastes and preferencesof the particular customers served by the business. The media streamingservice may determine the media selection settings 612, 618 based on thecustomer provided voting input 604 and may select media content tostream to the business accordingly. Thus, the business may be able toprovide media content suited to the tastes of its particular customers.Additionally, if the customer served by the business change over time(e.g., between a set of customers that have lunch at a restaurant and aset of customers that have dinner at the restaurant), the tastes andpreferences of each of the different sets of customers can also beaccommodated since the voting input 604 may be used to determine usermedia selection settings 612, 614 that are associated with particulartimes and/or days.

FIG. 7 is an illustration of a first embodiment of a user interfacedisplay 700. The user interface display 700 includes a first area 702associated with a particular media content item being presented. Theuser interface display 700 also includes a second area 720 associatedwith media selection settings used to select media content forpresentation. The user interface display 700 also includes a third area750 identifying particular categories of media content not in the mediaselection settings being used to select media content. The userinterface display also includes a fourth area 780 associated with aplaylist including one or more media content items that have alreadybeen presented, a content item being currently being presented, and oneor more subsequent media content items that are yet to be presented.

In a particular embodiment, the first area 702 includes one or moremedia playback controls 710. For example, the media playback controls710 may including user selectable options to fast forward, rewind,pause, stop, skip, mute or otherwise control playback of a media contentitem being presented (i.e., the “current media content item”). The firstarea 702 may also include a progress bar 708 that provides a visualrepresentation of a time remaining for presentation of the current mediacontent item. The first area 702 may also include a title bar 706indicating a title, an artist, or other information identifying thecurrent media content item. The first area 702 may also include afavorites user selectable option 712. Selection of the favorites userselectable option 712 may cause the current media content item to beadded to a favorites list. Addition of a media content item to thefavorites list may cause the particular media content item to beassociated with a set of media content items identified as favorites ofthe user.

In a particular embodiment, the second area 720 includes a graphicalrepresentation 722 of the media selection settings being used to selectmedia content for presentation. The particular selection of categoriesof media content and of the proportions of each of the categories isreferred to as a media mix. The graphical representation 722 of themedia selection settings illustrated in FIG. 7 may be associated with afirst media mix. The second area 720 may also include an other mixesuser selectable option 740 which enables the user to select other mediamixes which may include other categories of media content, otherproportions of the categories, or both.

Each category of media content in the graphical representation 722 maybe associated with a title 738 identifying the category. Additionally,each category of media content in the graphical representation 722 maybe associated with an indicator 736. The indicator 736 may include acolor, a symbol, text, a pattern, another graphical indicator, or anycombination thereof. In a particular embodiment, the indicator 736 is acolor associated with the particular category of media content. Colorcodes associated with the categories of media content are not shown inFIG. 7 due to the difficulty of illustrating such color coding; however,in one embodiment, the letter indicators 736 illustrated in FIG. 7represent color coding in the user interface 700.

The categories of media content in the graphical representation 722 areeach associated with a bar or other display object that indicates aproportion of media content to be presented in the media mix. Forexample, a first bar 724 indicates that a favorites category should makeup 25 percent of the media mix. A second bar 726 indicates that acategory identified as classic rock should make up 20 percent of themedia mix. A third bar 728 indicates that a category identified as bluesshould make up 15 percent of the media mix. A fourth bar 730 indicatedthat a category identified as jazz should make up 10 percent of themedia mix. A fifth bar 732 indicates that a category identified as altrock should make up 10 percent of the media mix. A sixth bar 734indicates that a category identified as fem vocal should make up 5percent of the media mix. As discussed above, in a particularembodiment, the bars 724-734 are color coded as indicated by theindicators 736 (e.g., indicators (A)-(F)). In a particular embodiment,one or more of the bars 724-734 may include text a particular mediacontent item that is representative of the category of media content, asdiscussed further with reference to FIG. 13.

The third area 750 includes a plurality of user selectable elementsassociated with categories of media content that are not in the currentmedia mix. The other categories of media content represented in thethird area 750 may include one or more user defined categories (e.g., aplaylist associated with a mobile telephone, such as cell playlistoption 762). The other categories of media content represented in thethird area 750 may also include categories associated with availablelists of media content. To illustrate, the other categories of mediacontent may include a billboard top 100 option 752 that is associatedwith a list of most played songs according to a particular organizationthat tracks such information. The billboard top 100 option 752 may beassociated with information, such as a universal resource identifier(URI) or a universal resource locator (URL), that points to a storagelocation of the list or of media content items identified on the list.In another example of a list, the other categories of media content mayinclude a user favorites list associated with a particular website,service or application, such as “UTunes Favorites” option 754. TheUTunes Favorites option 754 may be associated with information thatinclude information to access a favorites list associated with a“UTunes” website, service or application. For example, when UTunes is awebsite or service, the UTunes Favorites option 754 may be associatedwith a URI, a URL or another network address to access the favoriteslist. In another example, UTunes may be a software application on acomputing device, such as a desktop computer, and the UTunes Favoritesoption 754 may be associated with information that points to a favoriteslist associated with the software application.

The other media categories represented in the third area 750 may alsoinclude one or more categories associated with a particular artist orgroup of artists, a particular genre (e.g., a classical genre 756, or apop genre 758), or other information intrinsic to the media content. Theother media categories may also include one or more categoriesassociated with a particular storage location. For example, the othermedia categories may include a user selectable option 760 associatedwith media stored at a particular location, such as a compact disk indisk drive of a computing device.

In a particular embodiment, the third area 750 includes a userselectable new category option 764 that enables a user to create a newcategory. In response to the user selecting the user selectable newcategory option 764, a display may be presented that enables the user tospecify media content that is to be associated with the new category.The media content may be associated with the new category based onproperties that are intrinsic to the media content (e.g., genre, artist,title, release date), properties that are not intrinsic to the mediacontent (e.g., storage location, user specified data), or both. One ormore user selectable options in the third area 750 may include anidentifier of a representative media content item such as “Mozart: PianoTrio” in “Classical” user selectable option 756.

The fourth area 780 may include a list 788 of media content items. Thelist 788 of media content items may list previously presented mediacontent items 790, and the current media content item 784. In aparticular embodiment, the list 788 of media content items also listsone or more media content items that are yet to be presented (such aspending item 782). The current media content item 784 may be associatedwith indicator 786, such as an arrow, to allow a user to quicklyidentify the current media content item 784 within the list 788. In aparticular embodiment, each of the media content items in the list 788may be associated with an indicator 792. The indicators 792 in thefourth area 780 may be associated with the indicators 736 in the secondarea 720 to identify the particular category of media content that isassociated with each media content item. For example, a “RollingStones—Satisfaction” media content item (i.e., the pending item 782) inthe list 788 is associated with an indicator (A) which indicates thatthe “Rolling Stones—Satisfaction” media content item was selected fromthe “favorites category” associated with the first bar 724 in the secondarea 720. Similarly, the current media content item 784 is identified as“The Grateful Dead—Truckin” and is associated with an indicator (B)which indicates that the “The Grateful Dead—Truckin” media content itemwas selected from the “classic rock” category associated with the secondbar 726 in the second area 720.

As discussed above, the indicators 736 of the second area 720 may becolor codes. Likewise, the indicators 786 of the fourth area 780 may becolor codes. Thus, each of the bars 724-734 may be presented in aparticular color. The media content items in the list 788 may be colorcoded in the same manner, such that media content items selected from aparticular category are color coded in the same manner as the barrelated to the particular category. To illustrate, the second bar 726associated with the “classic rock” category may be color coded blue, andthe current media content item 784 in the list 788 may be color codedblue because the current media content item 784 was selected from the“classic rock” category.

FIG. 8 is an illustration of a second embodiment of a user interfacedisplay 800. The user interface display 800 illustrates a particularembodiment of a graphical display representing a particular user mediaselection setting. For example, the user interface display 800 mayinclude information regarding proportions of particular categories ofmedia content to be presented according to a particular media mix.

In a particular embodiment, a user can adjust the proportions of thecategories of media content in the media mix by interacting with theuser interface display 800. For example, the user may adjust a dimensionof a first bar 802 to modify the proportion of the favorites mediacontent category in the media mix. To illustrate, the user may selectthe first bar 802 and adjust the first bar 802 from a first dimension804 to a second dimension 806. The first dimension 804 indicates thatthe favorites media content category should make up 30% of the mediamix. The second dimension 806 indicates that the favorites media contentcategory should make up 20% of the media mix. In response to the userinput changing the dimension of the first bar 802, media selectionsettings of the media mix may be adjusted. For example, the proportionof the media content presented that is associated with the favoritescategory may be adjusted from 30% to 20%. In a particular embodiment, asdiscussed further with reference to FIGS. 9 and 10, the proportion ofone or more other categories of media content in the media mix may alsobe adjusted based on the adjustment of the dimension of the first bar802.

FIG. 9 depicts a third particular embodiment of a user interface display900. FIG. 9 depicts a particular embodiment of a manner in which theuser interface display 900 may be modified in response to the user inputadjusting the dimension of the first bar 802 of FIG. 8. Based onchanging the dimension from the first dimension 804 to the seconddimension 806 in FIG. 8, the favorites category associated with thefirst bar 802 has been adjusted to indicate a 20% proportion of themedia mix. The user interface display 900 has also been ordered so thatthe categories of media content are arranged from the largest proportionof the media mix on the left to smallest proportion of the media mix onthe right. Thus, the first bar 802 has moved from the left most positionin FIG. 8, to a third from the left position in FIG. 9. Additionally,bars associated with other categories of media content have beenadjusted to ensure that 100% of media mix is accounted for.

In FIG. 9, the 10% reduction in the favorites category has been evenlydistributed across each of the other categories of media content in themedia mix. For example, since six categories of media content arerepresented in the media mix and one of the categories (the favoritescategory) has been adjusted to a specified value (i.e., by reducing itsproportion from 30% to 20%), 10% of the media mix is divided among theother five categories (categories associated with bars 810, 812, 814,816 and 818). Thus, each of the other five categories has been increasedby 2%. To illustrate, the classic rock category associated with the bar810 has been adjusted from 25% to 27%; the blues category associatedwith the bar 812 has been adjusted from 20% to 22%; the jazz categoryassociated with the bar 814 has been adjusted from 15% to 17%; the altrock category associated with the bar 816 has been adjusted from 5% to7%; and the fem vocal category associated with bar 818 has been adjustedfrom 5% to 7%.

FIG. 10 depicts a fourth particular embodiment of user interface display1000. FIG. 10 depicts a second particular embodiment of a manner inwhich the user interface display 800 of FIG. 8 may be modified inresponse to the user input adjusting the dimension of the first bar 802.The user interface display 1000 has been ordered so that the categoriesof media content are arranged from the large proportion of the media mixon the left to smallest proportion of the media mix on the right. Thefirst bar 802 associated with the favorites category has been adjustedto the new dimension indicating that media mix should include 20% ofmedia content selected from the favorites category. Additionally, theother categories of media content (represented by the bars 810-818) havebeen adjusted to insure that 100% of media mix is accounted for. In theembodiment illustrated in FIG. 10, the other categories of media contenthave been adjusted using Equation 1.

NP=CP−D*(CP/T)   (Equation 1)

In Equation 1, NP is a new percentage value for a particular categorybeing evaluated; CP is the current percentage value for the particularcategory being evaluated (that is, the percentage value before the userinput to change one of the categories was received); D is a total numberof percentage points to be distributed among all of the categoriesexcept the one changed by the user; and T is the sum of the percentagevalues of all of the categories before the change excluding the categorychanged by the user.

To illustrate, referring to FIG. 8, the first bar 802 associated withthe favorites category reduced by ten percentage points from 30% to 20%.Thus, D, the total number of percentage points to be distributed amongall of the categories except the one changed by the user, is −10%(negative since the favorites category was decreased). Before the userinput was received, the favorites category was 30% of the media mix,thus, T, the sum of the percentage values of all of the categoriesbefore the change excluding the category changed by the user, is 70%(i.e., 100% minus 30%). Before the user input was received, the classicrock category was 25% of the media mix. Thus, for the classic rockcategory, CP is 25%. Filling in the values of T, CP and D and solving ofNP, the new percentage value of the media mix for the category beingevaluated, the classic rock category is approximately 28.6%. Following asimilar methodology for the other categories of media content, the bluescategory associated with the bar 812 may be adjusted from 20% toapproximately 22.8%, the jazz category associated with the bar 814 maybe adjusted from 15% to approximately 17.1%, the alt rock categoryassociated with bar 816 may be adjusted from 5% to approximately 5.7%,and the fem vocal category associated with bar 818 may be adjusted from5 percent to approximately 5.7%.

In various embodiments, the new percentage values for the categories maybe rounded off. For example, the values associated with categories thatrepresent a larger portion of the media mix may be rounded up to a nextpercent, next five percent, next ten percent, or another value. Afterrounding off the values of categories that are a larger portion of themedia mix, a category or categories that represent a smaller portion ofthe media mix may be determined by subtracting the other portions of themedia content from 100%. To illustrate, rounding up the values of thecategories associated with larger proportions to the next percent, theclassic rock category becomes 29%, the blues category becomes 23%, andthe jazz category becomes 18%. The sum of these categories and thefavorites category is 90%. The remaining 10% may be divided between thetwo remaining smallest categories leaving each at 5%.

In a particular embodiment, the media mix, the media player, or anothersetting specifies a minimum proportion that may be associated with acategory of media content. For example, the minimum proportion may be1%, 5% or some other value (e.g., a user specified value). If a changein a proportion of a first category causes another category to dropbelow the minimum, the category that drops below the minimum may beremoved from the media mix. The proportions of one or more of the othercategories may be adjusted to ensure that 100% of the media mix isaccounted for. For example, one of the methods of adjusting the othercategories described with respect to FIGS. 9 and 10 may be used.

FIG. 11 illustrates a fifth particular embodiment of a user interfacedisplay 1100. The user interface display 1100 includes a plurality ofcategories of media content associated with a graphical user interface.For simplicity of discussion, the categories of media content and theirproportions are the same as in FIG. 8. The user interface display 1100also includes a user selectable option 1104 associated with a categoryof media content that is not present in the media mix. In a particularembodiment, a user may use a cursor 1106 to select the user selectableoption 1104 and drag the user selectable option 1104 to an area of theuser interface display 1100 that is associated with the media mix. Inresponse to dragging and dropping the user selectable option 1104 to thearea associated with the media mix, the category of media contentassociated with the user selectable option 1104 (“E://CD” in theembodiment illustrated) may be added to the media mix. For example, themedia mix may be adjusted to include a default proportion of thecategory of media content associated with the user selectable option1104. In another example, the user may be prompted to specify aproportion of the category of media content to be added to the mediamix.

FIG. 12 illustrates a sixth particular embodiment of a user interfacedisplay 1200. As illustrated in FIG. 12, the media category associatedwith the user selectable option 1104 (in FIG. 11) has been added to themedia mix as a new category 1110. The proportions of other categories ofthe media mix have been adjusted to accommodate the new category 1110.In particular, 10% of the new category 1110 has been added to the mediamix. Modifications to the media mix have been determined by applying a5% minimum percentage to categories in the media mix. Thus, categoriesthat fall below 5% are dropped from the media mix. As illustrated inFIG. 11, before adding the new category 1110, an alt rock category 1102and a fem vocal category 1108 each represented 5% of the media mix. When10% of the new category 1110 was added to the media mix, the 10% wasdeducted from each category in the media mix by one of the methodsdiscussed with reference to FIGS. 9 and 10. Thus, the fem vocal category1108 dropped below 5% and was removed from the mix. With the fem vocalcategory 1108 removed, the 5% previously occupied by the fem vocalcategory 1108 was available to offset the 10% of the new category 1110.However, since a small amount was still deducted from the alt rockcategory 1102, it too fell below the 5% minimum and was removed from themedia mix. Thus, the entire 10% of the new category 1110 was offset byremoving the two smallest categories 1102, 1108 from the media mix, andthe proportions of the other categories of media content remainunchanged.

FIG. 13 depicts a seventh particular embodiment of a user interfacedisplay 1300. As discussed above, the user interface display 1300 mayinclude a plurality of bars 1302 and 1304, each associated with aparticular category of media content. As illustrated in FIG. 13, a firstbar 1302 is associated with a favorites category and a second bar 1304is associated with a classic rock category. In a particular embodiment,at least one of the bars 1302, 1304 may include an identifier of arepresentative media content item associated with the respectivecategory of media content. For example, the first bar 1302, associatedwith the favorites category, may identify a representative content item,“ZZ TOP—La Grange”. For a user defined category such as the favoritescategory, the representative media content item may be specified by theuser, selected based on an analysis of the categories or favorites,selected at random from the user defined category, selected based onuser play history information, or any combination thereof. In anotherexample, the second bar 1304, associated with the classic rock category,may identify a representative content item. “The Grateful Dead—Truckin”.The representative content item associated with a non-user definedcategory, such as the classic rock category, may be specified by theuser, selected based on an analysis of the category, selected at randomfrom the category, selected based on user play history information,selected based on ratings, popularity or other information associatedwith the category, or any combination thereof.

Referring to FIG. 14, an illustrative embodiment of a general computersystem is shown and is designated 1400. The computer system 1400 caninclude a set of instructions that can be executed to cause the computersystem 1400 to perform any one or more of the methods or computer basedfunctions disclosed herein. The computer system 1400 may operate as astandalone device or may be connected, e.g., using a network, to othercomputer systems or peripheral devices. For example, the computer system1400 may include or be included within any one or more of the mediaplayer devices, the remote network devices, the local devices, or otherdevices discussed with reference to FIGS. 1 and 2.

In a networked deployment, the computer system may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 1400 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile device, a palmtop computer, a laptopcomputer, a desktop computer, a communications device, a wirelesstelephone, a land-line telephone, a control system, a camera, a scanner,a facsimile machine, a printer, a pager, a personal trusted device, aweb appliance, a network router, switch or bridge, or any other machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. In a particularembodiment, the computer system 1400 can be implemented using electronicdevices that provide audio, voice, video or data communication. Further,while a single computer system 1400 is illustrated, the term “system”shall also be taken to include any collection of systems or sub-systemsthat individually or jointly execute a set, or multiple sets, ofinstructions to perform one or more computer functions.

As illustrated in FIG. 14, the computer system 1400 may include aprocessor 1402, e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. Moreover, the computer system 1400 caninclude a main memory 1404 and a static memory 1406, that cancommunicate with each other via a bus 1408. As shown, the computersystem 1400 may further include a video display unit 1410, such as aliquid crystal display (LCD), an organic light emitting diode (OLED), aflat panel display, a solid state display, or a cathode ray tube (CRT).Additionally, the computer system 1400 may include an input device 1412,such as a keyboard, and a cursor control device 1414, such as a mouse orremote control. The computer system 1400 can also include a disk driveunit 1416, a signal generation device 1418, such as a speaker, and anetwork interface device 1420.

In a particular embodiment, as depicted in FIG. 14, the disk drive unit1416 may include a computer-readable medium 1422 in which data and/orone or more sets of instructions 1424, e.g. software, can be embedded.Further, the instructions 1424 may embody one or more of the methods orlogic as described herein. In a particular embodiment, the data and/orinstructions 1424 may reside completely, or at least partially, withinthe main memory 1404, the static memory 1406, and/or within theprocessor 1402 during execution by the computer system 1400. The mainmemory 1404 and the processor 1402 also may include computer-readablemedia.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

The present disclosure contemplates a computer-readable medium thatincludes instructions 1424 or receives and executes instructions 1424responsive to a propagated signal, so that a device connected to anetwork 1426 can communicate audio, voice, video or data over thenetwork 1426. Further, the instructions 1424 may be transmitted orreceived over the network 1426 via the network interface device 1420.

While the computer-readable medium is shown to be a single medium, theterm “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. A digital file attachment to an e-mail or other self-containedinformation archive or set of archives may be considered a distributionmedium that is equivalent to a tangible storage medium. Accordingly, thedisclosure is considered to include any one or more of acomputer-readable medium or a distribution medium and other equivalentsand successor media, in which data or instructions may be stored.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the disclosed embodiments are notlimited to such standards and protocols. For example, standards forInternet and other packet switched network transmission (e.g., TCP/IP,UDP/IP, HTML, HTTP) represent examples of the state of the art. Suchstandards are periodically superseded by faster or more efficientequivalents having essentially the same functions. Accordingly,replacement standards and protocols having the same or similar functionsas those disclosed herein are considered equivalents thereof.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be reduced. Accordingly, thedisclosure and the figures are to be regarded as illustrative ratherthan restrictive.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) and is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, various features may begrouped together or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

The above-disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe true scope of the present invention. Thus, to the maximum extentallowed by law, the scope of the present invention is to be determinedby the broadest permissible interpretation of the following claims andtheir equivalents, and shall not be restricted or limited by theforegoing detailed description.

1. A method, comprising: dynamically selecting content items forpresentation via a media player based on user media selection settings,wherein the user media selection settings specify a proportion of afirst category of media content to be presented and a proportion of atleast one second category of media content to be presented, wherein theat least one second category includes a user defined category, whereinfirst media content is associated with the first category based on anintrinsic property of the first media content, and wherein second mediacontent is associated with the user defined category based on a propertythat is not intrinsic to the second media content; and generating anoutput stream presenting the dynamically selected content items.
 2. Themethod of claim 1, wherein the property that is not intrinsic to thesecond content includes a storage location of the second content.
 3. Themethod of claim 1, wherein the property that is not intrinsic to thesecond content includes a universal resource identifier (URI) of thesecond content.
 4. The method of claim 1, further comprising generatinga user interface display including information representing the usermedia selection settings, wherein the proportion of the first categoryof media content and the proportion of at least one second category ofmedia content to be presented are displayed using a plurality ofadjustable bars, wherein each of the adjustable bars is associated witha different category of media content, and wherein a length of each ofthe plurality of bars indicates a percentage of the respective categoryof media content to be presented.
 5. The method of claim 1, wherein,when a selected media content item is not stored at a local memory,streaming the selected media content item from a remote memory via anetwork.
 6. The method of claim 5, wherein, when the selected mediacontent item is stored at the local memory, accessing the selected mediacontent item from the local memory.
 7. The method of claim 5, wherein,when the selected media content item is not stored at the local memory,sending a first request for the selected media content item from themedia player to a remote network element, wherein the request causes theremote network element to send a second request to a device associatedwith the local memory, wherein the second request causes the device tosend the selected media content item to the remote network element, andwherein the remote network element sends the selected media content itemto the media player.
 8. The method of claim 1, further comprising:receiving voting input from a plurality of users; and determining theuser media selection settings based on the voting input.
 9. The methodof claim 8, wherein the plurality of users includes customers of abusiness, and wherein the user media selection settings are determinedby analyzing the voting input to determine media preferences ofcustomers that frequent the business during particular times and onparticular days.
 10. The method of claim 9, further comprising:determining first user media selection settings based on the analyzedvoting input and associating the first user media selection settingswith a first particular time and day; and determining second user mediaselection settings based on the analyzed voting input and associatingthe second user media selection settings with a second particular timeand day.
 11. The method of claim 10, further comprising determining acurrent time and day before dynamically selecting media content items.12. The method of claim 10, further comprising: after dynamicallyselecting a content item for presentation based on the first user mediaselection settings, determining a current time and day; and when thecurrent time and day is associated with the second user media selectionsettings, selecting subsequent content items for presentation based onthe second user media selection settings.
 13. A system, comprising: amedia selection module to dynamically select media content items forpresentation based on user media selection settings, wherein the usermedia selection settings specify a proportion of a first category ofmedia content to be presented and a proportion of at least one secondcategory of media content to be presented, wherein the at least onesecond category includes a user defined category, wherein first mediacontent is associated with the first category based on an intrinsicproperty of the first media content, and wherein second media content isassociated with the user defined category based on a property that isnot intrinsic to the second media content; and a media player togenerate an output stream presenting the dynamically selected mediacontent items.
 14. The system of claim 13, further comprising agraphical user interface (GUI) module to present a user interfacedisplay including a representation of the user media selection datausing a plurality of adjustable display objects, wherein a first displayobject is associated with the first category of media content and atleast one second display object is associated with the at least onesecond category of media content, and wherein a dimension of each of theplurality of display objects indicates the proportion of the respectivecategory of media content to be dynamically selected.
 15. The system ofclaim 14, wherein the user interface display further comprises a listidentifying previously presented media content items, wherein each ofthe identified previously presented media content items is presented ina color corresponding to a color of one of the plurality of adjustabledisplay objects associated with the category of media content from whichthe identified previously presented media content item was selected. 16.The system of claim 14, further comprising a memory device interface toaccess the media content items selected by the media selection module,wherein the memory device interface accesses media content items thatare available at a local memory from the local memory, and wherein thememory device interface accesses media content items that are notavailable at the local memory via a remote network element.
 17. Acomputer-readable storage medium, comprising: operational instructionsthat, when executed by a processor, cause the processor to dynamicallyselect media content items for presentation based on user playlistsettings, wherein the user playlist settings specify a proportion of afirst category of media content to be presented and a proportion of atleast one second category of media content to be presented, wherein theat least one second category includes a user defined category, whereinfirst media content is associated with the first category based on anintrinsic property of the first media content, and wherein second mediacontent is associated with the user defined category based on a propertythat is not intrinsic to the second media content; and operationalinstructions that, when executed by the processor, cause the processorto generate an output stream to present the dynamically selected mediacontent items.